<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Concern (computer science)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Concern_(computer_science)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Concern_computer_science rootpage-Concern_computer_science skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Concern (computer science)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="Concern_(disambiguation)" class="mw-redirect mw-disambig" title="Concern (disambiguation)">Concern (disambiguation)</a>.</div>
<p>In <a href="Computer_science" title="Computer science">computer science</a>, a <b>concern</b> is any aspect in <a href="Software" title="Software">software</a> that can be defined separately from other aspects and has a significant level of importance in the context of the use of the software; such as in a <a href="Computer_program" title="Computer program">computer program</a>. A concern can be as general as the details of <a href="Database" title="Database">database</a> interaction or as specific as performing a primitive calculation, depending on the level of conversation between developers and the program being discussed. <a href="IBM" title="IBM">IBM</a> uses the term <i>concern space</i> to describe the sectioning of conceptual information.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2></div>
<p>Usually the code can be separated into logical sections, each addressing separate concerns, and so it hides the need for a given section to know particular information addressed by a different section. This leads to a <a href="Modularity_(programming)" class="mw-redirect" title="Modularity (programming)">modular</a> program. <a href="Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Edsger W. Dijkstra</a> coined the term "<a href="Separation_of_concerns" title="Separation of concerns">separation of concerns</a>"<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> to describe the mentality behind this modularization, which allows the programmer to reduce the complexity of the system being <a href="Designed" class="mw-redirect" title="Designed">designed</a>. Two different concerns that intermingle in the same section of code are called "<a href="Coupling_(computer_science)" class="mw-redirect" title="Coupling (computer science)">highly coupled</a>". Sometimes the chosen module divisions do not allow for one concern to be completely separated from another, resulting in <a href="Cross-cutting_concern" title="Cross-cutting concern">cross-cutting concerns</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The various <a href="Programming_paradigm" title="Programming paradigm">programming paradigms</a> address the issue of <a href="Cross-cutting_concern" title="Cross-cutting concern">cross-cutting concerns</a> to different degrees. <a href="Logging_(software)" class="mw-redirect" title="Logging (software)">Data logging</a> is a common cross-cutting concern, being used in many other parts of the program other than the particular module(s) that actually log the data. Since changes to the logging code can affect other sections, it could introduce <a href="Computer_bug" class="mw-redirect" title="Computer bug">bugs</a> in the operation of the program.
</p><p>Paradigms that specifically address the issue of concern separation:
</p>
<ul><li><a href="Object-oriented_programming" title="Object-oriented programming">Object-oriented programming</a>, describes concerns as objects</li>
<li><a href="Functional_programming" title="Functional programming">Functional programming</a>, describing concerns as functions</li>
<li><a href="Aspect-oriented_software_development" class="mw-redirect" title="Aspect-oriented software development">Aspect-oriented software development</a>, treating concerns and their interaction as constructs of their standing</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Cross-cutting_concern" title="Cross-cutting concern">Cross-cutting concern</a></li>
<li><a href="Separation_of_concerns" title="Separation of concerns">Separation of concerns</a></li>
<li><a href="Issue_(computers)" class="mw-redirect" title="Issue (computers)">Issue (computers)</a>, a unit of work to accomplish an improvement in a data system</li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.research.ibm.com/hyperspace/ConcernSpaces.htm">Concern Spaces at IBM</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080122043747/http://www.research.ibm.com/hyperspace/ConcernSpaces.htm">Archived</a> 2008-01-22 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFDijkstra1982" class="citation cs2"><a href="Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Dijkstra, Edsger W.</a> (1982), <a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447.html">"On the role of scientific thought"</a>, in Dijkstra, Edsger W. (ed.), <a rel="nofollow" class="external text" href="https://archive.org/details/selectedwritings0000dijk/page/60"><i>Selected writings on Computing: A Personal Perspective</i></a>, New York, NY, USA: Springer-Verlag New York, Inc., pp. <a rel="nofollow" class="external text" href="https://archive.org/details/selectedwritings0000dijk/page/60">60–66</a>, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-387-90652-5</bdi></cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Mendhekar, Anurag, Gregor Kiczales, and John Lamping. <a rel="nofollow" class="external text" href="https://www2.parc.com/csl/groups/sda/publications/papers/PARC-AOP-RG97/">"RG: A Case-Study For Aspect-Oriented Programming"</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070908073330/http://www2.parc.com/csl/groups/sda/publications/papers/PARC-AOP-RG97/">Archived</a> 2007-09-08 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a> Xerox Palo Alto Research Center. Feb 1997.</span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20190417012709/https://signalvnoise.com/posts/3372-put-chubby-models-on-a-diet-with-concerns">Concerns in Rails, by DHH, the Rails creator</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-26" href="https://en.wikipedia.org/wiki/?title=Concern_(computer_science)&oldid=1302612248">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>